﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:system="clr-namespace:System;assembly=mscorlib">
    <!--Basic Brushes-->
    <Color x:Key="PrimaryColor">#FF63AADA</Color>
    <Color x:Key="SecondaryColor">#FFA0FCFF</Color>
    <SolidColorBrush x:Key="PrimaryBrush"
                     Color="{StaticResource PrimaryColor}" />
    <SolidColorBrush x:Key="SecondaryBrush"
                     Color="{StaticResource SecondaryColor}" />
    <SolidColorBrush x:Key="TextBrush"
                     Color="#FF152937" />
    <SolidColorBrush x:Key="DisabledColor"
                     Color="#8CFFFFFF" />
    <SolidColorBrush x:Key="BackgroundBrush"
                     Color="#FFFFFFFF" />
    <LinearGradientBrush x:Key="MainBackground"
                         EndPoint="0.5,1"
                         StartPoint="0.5,0">
        <GradientStop Color="#FFCEDEFF"
                      Offset="0" />
        <GradientStop Color="#FF5A7CA0"
                      Offset="0.992" />
        <GradientStop Color="#FF5882A7"
                      Offset="0.085" />
    </LinearGradientBrush>
    <SolidColorBrush x:Key="WaitingAnimationColor"
                     Color="DarkBlue" />

    <!-- Button -->
    <Style TargetType="Button">
        <Setter Property="Foreground"
                Value="{StaticResource TextBrush}" />
        <Setter Property="Background"
                Value="#00000000" />
        <Setter Property="Padding"
                Value="5,4" />
        <Setter Property="BorderBrush"
                Value="{StaticResource PrimaryBrush}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid x:Name="Button_Normal">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="50*" />
                            <RowDefinition Height="50*" />
                        </Grid.RowDefinitions>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Unfocused" />
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="InnerBorder"
                                                                      Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#BF000000" />
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualStateGroup.Transitions>
                                    <VisualTransition GeneratedDuration="00:00:00.3" />
                                    <VisualTransition From="MouseOver"
                                                          GeneratedDuration="00:00:00"
                                                          To="Pressed" />
                                    <VisualTransition From="MouseOver"
                                                          GeneratedDuration="00:00:00.1"
                                                          To="Normal" />
                                </VisualStateGroup.Transitions>
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Highlight"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="Shadow"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#4B000000" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Offset)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value=".1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="Highlight"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#4AFFFFFF" />
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Normal" />
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.6" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Offset)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FF000000" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFC8C8C8" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="Highlight"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#4BFFFFFF" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Highlight"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.5" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="contentPresenter"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.5" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.2" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFB1B1B1" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFECECEC" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFECECEC" />
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Border CornerRadius="4"
                                Grid.RowSpan="2"
                                x:Name="White"
                                BorderBrush="#FFFFFFFF"
                                BorderThickness="1.2">
                            <Border.Background>
                                <RadialGradientBrush>
                                    <RadialGradientBrush.RelativeTransform>
                                        <TransformGroup>
                                            <ScaleTransform CenterX="0.5"
                                                            CenterY="0.5"
                                                            ScaleX="1.35"
                                                            ScaleY="1.35" />
                                        </TransformGroup>
                                    </RadialGradientBrush.RelativeTransform>
                                    <GradientStop Color="#FFFFFFFF"
                                                  Offset="0" />
                                    <GradientStop Color="#FFFFFFFF"
                                                  Offset="1" />
                                </RadialGradientBrush>
                            </Border.Background>
                        </Border>
                        <Border BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="1.2"
                                CornerRadius="4"
                                x:Name="Background"
                                Grid.RowSpan="2"
                                Opacity="0.65">
                            <Border.Background>
                                <LinearGradientBrush EndPoint="0.5,1.4"
                                                     StartPoint="0.5,0">
                                    <GradientStop Color="{StaticResource PrimaryColor}"
                                                  Offset="0.75" />
                                    <GradientStop Color="{StaticResource SecondaryColor}"
                                                  Offset="1" />
                                </LinearGradientBrush>
                            </Border.Background>
                        </Border>
                        <Border Background="{TemplateBinding Background}"
                                BorderBrush="#7FFFFFFF"
                                BorderThickness="1"
                                CornerRadius="3.5"
                                x:Name="InnerBorder"
                                Margin="1"
                                Grid.RowSpan="2" />
                        <Border CornerRadius="3.5"
                                x:Name="Shadow"
                                Margin="2"
                                Grid.RowSpan="2">
                            <Border.OpacityMask>
                                <RadialGradientBrush>
                                    <RadialGradientBrush.RelativeTransform>
                                        <TransformGroup>
                                            <TranslateTransform X="0"
                                                                Y="-0.5" />
                                        </TransformGroup>
                                    </RadialGradientBrush.RelativeTransform>
                                    <GradientStop Color="#00FFFFFF"
                                                  Offset="0.3" />
                                    <GradientStop Color="#FFFFFFFF"
                                                  Offset="1" />
                                </RadialGradientBrush>
                            </Border.OpacityMask>
                            <Border.Background>
                                <RadialGradientBrush>
                                    <RadialGradientBrush.RelativeTransform>
                                        <TransformGroup>
                                            <ScaleTransform CenterX="0.5"
                                                            CenterY="0.5"
                                                            ScaleX="1.75"
                                                            ScaleY="2.25" />
                                            <TranslateTransform Y="0.65" />
                                        </TransformGroup>
                                    </RadialGradientBrush.RelativeTransform>
                                    <GradientStop Color="#00000000"
                                                  Offset="0.55" />
                                    <GradientStop Color="#33000000"
                                                  Offset="1" />
                                </RadialGradientBrush>
                            </Border.Background>
                        </Border>
                        <Border Margin="1,1,1,0"
                                CornerRadius="4,4,40,40"
                                x:Name="Highlight"
                                Opacity="0.8"
                                RenderTransformOrigin="0.5,1">
                            <Border.Background>
                                <RadialGradientBrush>
                                    <RadialGradientBrush.RelativeTransform>
                                        <TransformGroup>
                                            <ScaleTransform CenterX="0.5"
                                                            CenterY="0.5"
                                                            ScaleX="1.25"
                                                            ScaleY="2" />
                                            <TranslateTransform Y="-0.6" />
                                        </TransformGroup>
                                    </RadialGradientBrush.RelativeTransform>
                                    <GradientStop Color="#BFFFFFFF"
                                                  Offset="0" />
                                    <GradientStop Color="#4CFFFFFF"
                                                  Offset="1" />
                                </RadialGradientBrush>
                            </Border.Background>
                        </Border>
                        <ContentPresenter x:Name="contentPresenter"
                                          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                          Margin="{TemplateBinding Padding}"
                                          RenderTransformOrigin="0.5,0.5"
                                          Grid.RowSpan="2" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- TextBlocks -->
    <Style x:Key="QuestionLabelStyle"
           TargetType="TextBlock">
        <Setter Property="FontWeight"
                Value="Bold" />
    </Style>


    <!-- TextBoxes -->
    <Style TargetType="TextBox">
        <Setter Property="BorderBrush"
                Value="#FF0F68A6" />
        <Setter Property="BorderThickness"
                Value="2" />
    </Style>

    <!-- ScrollViewer-->
    <Style TargetType="ScrollViewer">
        <Setter Property="BorderBrush"
                Value="#FF0F68A6" />
        <Setter Property="BorderThickness"
                Value="2" />
        <Setter Property="Background"
                Value="White" />
        <Setter Property="VerticalScrollBarVisibility"
                Value="Auto" />
    </Style>


    <!-- Tooltip -->
    <Style TargetType="ToolTip">
        <Setter Property="Width"
                Value="250" />
        <Setter Property="Background"
                Value="#FFFF99" />
        <Setter Property="FontSize"
                Value="10" />
        <Setter Property="Foreground"
                Value="Black" />
        <Setter Property="BorderBrush"
                Value="#FFCC33" />
        <Setter Property="BorderThickness"
                Value="2" />
    </Style>

    <!-- Tooltip image -->
    <Style x:Key="ToolTipImageStyle"
           TargetType="Image">
        <Setter Property="Source"
                Value="../Images/info.png"></Setter>
        <Setter Property="Width"
                Value="15"></Setter>
        <Setter Property="Height"
                Value="15"></Setter>
        <Setter Property="Margin"
                Value="2,0,0,0"></Setter>
    </Style>

    <!-- Border -->
    <Style x:Key="BorderBrush"
           TargetType="Border">
        <Setter Property="BorderBrush"
                Value="#FF0F68A6" />
        <Setter Property="BorderThickness"
                Value="2" />
    </Style>

    <Style x:Key="HeaderedBorderStyle" 
           TargetType="Border">
        <Setter Property="BorderBrush"
                Value="#FF234D69" />
        <Setter Property="BorderThickness"
                Value="2" />
        <Setter Property="CornerRadius"
                Value="5" />
        <Setter Property="Background"
                Value="#FFD3DDE2" />
        <Setter Property="Padding"
                Value="5" />
    </Style>

    <!-- CheckBox -->
    <Style TargetType="CheckBox">
        <Setter Property="Foreground"
                Value="{StaticResource TextBrush}" />
        <Setter Property="Background"
                Value="#00000000" />
        <Setter Property="HorizontalContentAlignment"
                Value="Left" />
        <Setter Property="VerticalContentAlignment"
                Value="Center" />
        <Setter Property="Padding"
                Value="4,1,0,0" />
        <Setter Property="BorderBrush"
                Value="{StaticResource PrimaryBrush}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="CheckBox">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="16" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal" />
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Bullet"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Highlight"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="Shadow"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#4B000000" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Offset)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value=".1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="Highlight"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#4AFFFFFF" />
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Bullet"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="1" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.6" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Offset)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FF000000" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFC8C8C8" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="Highlight"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#4BFFFFFF" />
                                        </ColorAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Highlight"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.5" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="contentPresenter"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value=".55" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Bullet"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.5" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Background"
                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                            <SplineDoubleKeyFrame KeyTime="0"
                                                                  Value="0.2" />
                                        </DoubleAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFB1B1B1" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFECECEC" />
                                        </ColorAnimationUsingKeyFrames>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="White"
                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#FFECECEC" />
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="CheckStates">
                                <VisualState x:Name="Checked">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="Bullet"
                                                                       Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="0"
                                                                    Value="Visible" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Unchecked" />
                                <VisualState x:Name="Indeterminate">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                       Storyboard.TargetName="IndeterminateRectangle"
                                                                       Storyboard.TargetProperty="(UIElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="0"
                                                                    Value="Visible" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <ColorAnimationUsingKeyFrames Duration="00:00:00.001"
                                                                      Storyboard.TargetName="InnerBorder"
                                                                      Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)">
                                            <SplineColorKeyFrame KeyTime="0"
                                                                 Value="#BF000000" />
                                        </ColorAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Unfocused" />
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="ValidationStates">
                                <VisualState x:Name="Valid" />
                                <VisualState x:Name="InvalidUnfocused">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement"
                                                                       Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="InvalidFocused">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement"
                                                                       Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip"
                                                                       Storyboard.TargetProperty="IsOpen">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <system:Boolean>True</system:Boolean>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>

                        </VisualStateManager.VisualStateGroups>
                        <Grid VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                              Width="16"
                              Height="16">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="50*" />
                                <RowDefinition Height="50*" />
                            </Grid.RowDefinitions>
                            <Border Grid.RowSpan="2"
                                    x:Name="White"
                                    BorderBrush="#FFB5B5B5"
                                    BorderThickness="1.2">
                                <Border.Background>
                                    <RadialGradientBrush>
                                        <RadialGradientBrush.RelativeTransform>
                                            <TransformGroup>
                                                <ScaleTransform CenterX="0.5"
                                                                CenterY="0.5"
                                                                ScaleX="1.35"
                                                                ScaleY="1.35" />
                                            </TransformGroup>
                                        </RadialGradientBrush.RelativeTransform>
                                        <GradientStop Color="#FFFFFFFF"
                                                      Offset="0" />
                                        <GradientStop Color="#FFFFFFFF"
                                                      Offset="1" />
                                    </RadialGradientBrush>
                                </Border.Background>
                            </Border>
                            <Border BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="1.2"
                                    x:Name="Background"
                                    Grid.RowSpan="2"
                                    Opacity=".5">
                                <Border.Background>
                                    <LinearGradientBrush EndPoint="0.5,1.4"
                                                         StartPoint="0.5,0">
                                        <GradientStop Color="{StaticResource PrimaryColor}"
                                                      Offset="0.75" />
                                        <GradientStop Color="{StaticResource SecondaryColor}"
                                                      Offset="1" />
                                    </LinearGradientBrush>
                                </Border.Background>
                            </Border>
                            <Border Background="{TemplateBinding Background}"
                                    BorderBrush="#FFFFFFFF"
                                    BorderThickness=".75"
                                    x:Name="InnerBorder"
                                    Margin="1"
                                    Grid.RowSpan="2"
                                    Visibility="Visible" />
                            <Border x:Name="Shadow"
                                    Margin="3"
                                    Grid.RowSpan="2">
                                <Border.OpacityMask>
                                    <RadialGradientBrush>
                                        <RadialGradientBrush.RelativeTransform>
                                            <TransformGroup>
                                                <TranslateTransform X="0"
                                                                    Y="-0.5" />
                                            </TransformGroup>
                                        </RadialGradientBrush.RelativeTransform>
                                        <GradientStop Color="#00FFFFFF"
                                                      Offset="0.3" />
                                        <GradientStop Color="#FFFFFFFF"
                                                      Offset="1" />
                                    </RadialGradientBrush>
                                </Border.OpacityMask>
                                <Border.Background>
                                    <RadialGradientBrush>
                                        <RadialGradientBrush.RelativeTransform>
                                            <TransformGroup>
                                                <ScaleTransform CenterX="0.5"
                                                                CenterY="0.5"
                                                                ScaleX="1.75"
                                                                ScaleY="2.25" />
                                                <TranslateTransform Y="0.65" />
                                            </TransformGroup>
                                        </RadialGradientBrush.RelativeTransform>
                                        <GradientStop Color="#00000000"
                                                      Offset="0.55" />
                                        <GradientStop Color="#33000000"
                                                      Offset="1" />
                                    </RadialGradientBrush>
                                </Border.Background>
                            </Border>
                            <Border Margin="1,1,1,0"
                                    CornerRadius="0,0,7,7"
                                    x:Name="Highlight"
                                    Opacity="0.8"
                                    RenderTransformOrigin="0.5,1">
                                <Border.Background>
                                    <RadialGradientBrush>
                                        <RadialGradientBrush.RelativeTransform>
                                            <TransformGroup>
                                                <ScaleTransform CenterX="0.5"
                                                                CenterY="0.5"
                                                                ScaleX="1.25"
                                                                ScaleY="2" />
                                                <TranslateTransform Y="-0.6" />
                                            </TransformGroup>
                                        </RadialGradientBrush.RelativeTransform>
                                        <GradientStop Color="#BFFFFFFF"
                                                      Offset="0" />
                                        <GradientStop Color="#4CFFFFFF"
                                                      Offset="1" />
                                    </RadialGradientBrush>
                                </Border.Background>
                            </Border>
                            <Rectangle Stroke="{x:Null}"
                                       StrokeThickness="0"
                                       x:Name="IndeterminateRectangle"
                                       Fill="{StaticResource TextBrush}"
                                       Visibility="Collapsed"
                                       Height="3"
                                       Margin="4,4,4,4"
                                       Grid.RowSpan="2"
                                       RadiusX="1"
                                       RadiusY="1" />
                            <Grid Opacity="0.8"
                                  Visibility="Collapsed"
                                  x:Name="Bullet"
                                  Margin="-0.25,-0.25,0,0"
                                  RenderTransformOrigin="0.5,0.5"
                                  HorizontalAlignment="Center"
                                  VerticalAlignment="Center"
                                  Grid.RowSpan="2">
                                <Path Fill="{TemplateBinding Foreground}"
                                      Data="M1.6045539,4.9657478 L3.9166667,6.7270508 L8.7999792,0.13644244 L10.335848,1.2280303 L4.1581869,9.0391064 L0.39386681,6.6038928 z"
                                      Margin="1,-1,-1,0"
                                      Stretch="Fill"
                                      StrokeLineJoin="Miter"
                                      StrokeMiterLimit="10"
                                      VerticalAlignment="Stretch" />
                            </Grid>
                            <Border x:Name="ValidationErrorElement"
                                    Visibility="Collapsed"
                                    BorderBrush="#FFDB000C"
                                    BorderThickness="1"
                                    CornerRadius="7">
                                <ToolTipService.ToolTip>
                                    <ToolTip x:Name="validationTooltip"
                                             DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Template="{StaticResource ValidationToolTipTemplate}"
                                             Placement="Right"
                                             PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}">
                                        <ToolTip.Triggers>
                                            <EventTrigger RoutedEvent="Canvas.Loaded">
                                                <BeginStoryboard>
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip"
                                                                                       Storyboard.TargetProperty="IsHitTestVisible">
                                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                                <DiscreteObjectKeyFrame.Value>
                                                                    <system:Boolean>true</system:Boolean>
                                                                </DiscreteObjectKeyFrame.Value>
                                                            </DiscreteObjectKeyFrame>
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </BeginStoryboard>
                                            </EventTrigger>
                                        </ToolTip.Triggers>
                                    </ToolTip>
                                </ToolTipService.ToolTip>
                                <Grid Height="12"
                                      HorizontalAlignment="Right"
                                      Margin="1,-4,-4,0"
                                      VerticalAlignment="Top"
                                      Width="12"
                                      Background="Transparent">
                                    <Path Fill="#FFDC000C"
                                          Margin="1,3,0,0"
                                          Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z" />
                                    <Path Fill="#ffffff"
                                          Margin="1,3,0,0"
                                          Data="M 0,0 L2,0 L 8,6 L8,8" />
                                </Grid>
                            </Border>

                        </Grid>
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          Margin="{TemplateBinding Padding}"
                                          x:Name="contentPresenter"
                                          VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                          Grid.Column="1"
                                          Content="{TemplateBinding Content}"
                                          ContentTemplate="{TemplateBinding ContentTemplate}" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!--ValidationTooltipTemplate-->
    <ControlTemplate x:Key="ValidationToolTipTemplate">
        <Grid x:Name="Root"
              Margin="5,0"
              Opacity="0"
              RenderTransformOrigin="0,0">
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="OpenStates">
                    <VisualStateGroup.Transitions>
                        <VisualTransition GeneratedDuration="0" />
                        <VisualTransition GeneratedDuration="0:0:0.2"
                                              To="Open">
                            <Storyboard>
                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="xform"
                                                               Storyboard.TargetProperty="X">
                                    <SplineDoubleKeyFrame KeyTime="0:0:0.2"
                                                          Value="0" />
                                </DoubleAnimationUsingKeyFrames>
                                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Root"
                                                               Storyboard.TargetProperty="Opacity">
                                    <SplineDoubleKeyFrame KeyTime="0:0:0.2"
                                                          Value="1" />
                                </DoubleAnimationUsingKeyFrames>
                            </Storyboard>
                        </VisualTransition>
                    </VisualStateGroup.Transitions>
                    <VisualState x:Name="Closed">
                        <Storyboard>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Root"
                                                           Storyboard.TargetProperty="Opacity">
                                <SplineDoubleKeyFrame KeyTime="0"
                                                      Value="0" />
                            </DoubleAnimationUsingKeyFrames>
                        </Storyboard>
                    </VisualState>
                    <VisualState x:Name="Open">
                        <Storyboard>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="xform"
                                                           Storyboard.TargetProperty="X">
                                <SplineDoubleKeyFrame KeyTime="0"
                                                      Value="0" />
                            </DoubleAnimationUsingKeyFrames>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Root"
                                                           Storyboard.TargetProperty="Opacity">
                                <SplineDoubleKeyFrame KeyTime="0"
                                                      Value="1" />
                            </DoubleAnimationUsingKeyFrames>
                        </Storyboard>
                    </VisualState>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>
            <Grid.RenderTransform>
                <TranslateTransform x:Name="xform"
                                    X="-25" />
            </Grid.RenderTransform>
            <Border Margin="4,4,-4,-4"
                    Background="#152A2E31"
                    CornerRadius="4" />
            <Border Margin="3,3,-3,-3"
                    Background="#252A2E31"
                    CornerRadius="4" />
            <Border Margin="2,2,-2,-2"
                    Background="#352A2E31"
                    CornerRadius="4" />
            <Border Margin="1,1,-1,-1"
                    Background="#452A2E31"
                    CornerRadius="4" />
            <Border Background="#FFDC000C"
                    CornerRadius="4" />
            <Border CornerRadius="4">
                <Border.Background>
                    <LinearGradientBrush EndPoint="0.5,1"
                                         StartPoint="0.5,0">
                        <GradientStop Color="#66FFFFFF" />
                        <GradientStop Color="#66000000"
                                      Offset="1" />
                        <GradientStop Color="#00E5E5E5"
                                      Offset="0.1" />
                        <GradientStop Color="#00161616"
                                      Offset="0.9" />
                    </LinearGradientBrush>
                </Border.Background>
                <TextBlock Margin="8,3,8,4"
                           MaxWidth="250"
                           UseLayoutRounding="false"
                           Foreground="White"
                           Text="{Binding Path=(Validation.Errors)[0].ErrorContent}"
                           TextWrapping="Wrap" />
            </Border>
        </Grid>
    </ControlTemplate>
</ResourceDictionary>